Many computer programs display symbols according to specified properties identified with them. For example, typically, associated with the symbols, ASCII characters, in a word-processing file are one or more properties (formatting, font, typesetting) that determine how they appear on the screen and when printed. In graphic programs, vector-graphic objects may have geometric and non-geometric properties that determine how they appear when displayed. The user interface used to change such properties often permit selection of a symbol or group of symbols, for example by highlighting text, and the entry of a value for a parameter. For example, the font size of a set of characters in the word-processor may be modified by selecting the text and indicating, through the user-interface, the desired value for the font. To enter multiple values respective of each element of a group of symbols, each element must be selected in turn and a different value indicated for the parameter. For example, to make the font sizes of each character, of a group of characters, different, each character of the group must be separately selected and the font size separately adjusted for each through the user-interface.
In vector-based graphic programs, an author creates 3-dimensional scenes by defining objects with geometric and non-geometric properties. For example, the height, width, and depth dimensions or the surface reflectivity, color, or texture of primitive objects may be defined. This can be done by defining an association between a property (a collection or constellation of parameter values, also called, for example, a "style") and a certain group of objects or by associating specific property values with individual objects. All the objects belonging to the group associated with the property inherit the values defined in the property. A typical user-interface device for making changes in parameter values, for an individual object or for a defined property, may be called an inspector.
An inspector may have the appearance of a user interface control with fields for each parameter that may be adjusted. The author selects an object, group of objects, or a property (style) and opens the inspector. The inspector will typically show current values for the parameters. The inspector will usually show the parameters that have the same values in dark or regular font. Parameters that have different values for any two members of the group may be ghosted. The author can change the parameter values by selecting from lists, entering numbers in numeric fields, clicking on radio buttons, etc. If the value of a parameter that is ghosted is changed, the parameter value will be changed to the value entered for all objects to which that parameter applies. In other words, such an entry overrides the particular values for the heterogeneous selection set.
Note that it is known to permit the entry of a change to parameter values by entering an incremental value. So, for example, if a heterogeneous mix of objects is selected and an inspector invoked, the value "+2" can be entered for a parameter. The value of the parameter for each object will be incremented then, by two. The result is that each element of the group receives different values for the parameter.
Consider the creation of a group of objects in a vector-based graphics program. Suppose the author creates a group of duplicate prisms in a 3-D scene intended to represent a street scene. Each prism represents a building. The author desires to give the prisms varying dimensions to make the scene realistic. Initially, the artist may select all the buildings and call up an inspector for the objects or the author may, having previously associated the prisms with a style, call up a style-inspector. The author enters values of parameters that are desired to be identical for all the prisms. Then the artist must select each prism and separately adjust the dimensions of each using the object inspector. To save time, the author may define a number of separate styles and associate a random selection of prisms with each style. The different buildings would each have the properties of one of a set of styles, so each would not be unique. The more realistic look would be where each building's dimension is unique. At present, there is no convenient mechanism for associating different values with a group of objects, either directly or through a style definition, such that each object in the group receives different values for the properties.